//Findbitmap + canvas test
program New;
var
  a, x, y: Integer;
  B, Canvas: TCanvas;
  Form, self: TForm;
  Image: TImage;
  

begin
  self:= GetSelf;
  //any pic that can be found on client screen
  //can be used. I used a little square of login
  //button but it doesn't matter.
  //Test it in login screen
  a:= BitmapFromString(17, 15,
       '5C66825C66825C66825C66825C66825C66825C66825C66825C6682' +
       '5C66825C66825C66825C66825C66825C66825C66825C66825E6783' +
       '5E67835E67835E67835E67835E67835E67835E67835E67835E6783' +
       '5E67835E67835E67835E67835E67835E67835E67835F68855F6885' +
       '5F68855F68855F68855F68855F68855F68855F68855F68855F6885' +
       '5F68855F68855F68855F68855F68855F6885606A86606A86606A86' +
       '606A86606A86606A86606A86606A86606A86606A86606A86606A86' +
       '606A86606A86606A86606A86606A86626B88626B88626B88626B88' +
       '626B88626B88626B88626B88626B88626B88626B88626B88626B88' +
       '626B88626B88626B88626B88636C89636C89636C89636C89636C89' +
       '636C89636C89636C89636C89636C89636C89636C89636C89636C89' +
       '636C89636C89636C89646E8B646E8B646E8B646E8B646E8B646E8B' +
       '646E8B646E8B646E8B646E8B646E8B646E8B646E8B646E8B646E8B' +
       '646E8B646E8B656F8C656F8C656F8C656F8C656F8C656F8C656F8C' +
       '656F8C656F8C656F8C656F8C656F8C656F8C656F8C656F8C656F8C' +
       '656F8C67708E67708E67708E67708E67708E67708E67708E67708E' +
       '67708E67708E67708E67708E67708E67708E67708E67708E67708E' +
       '68728F68728F68728F68728F68728F68728F68728F68728F68728F' +
       '68728F68728F68728F68728F68728F68728F68728F68728F697391' +
       '697391697391697391697391697391697391697391697391697391' +
       '6973916973916973916973916973916973916973916A74926A7492' +
       '6A74926A74926A74926A74926A74926A74926A74926A74926A7492' +
       '6A74926A74926A74926A74926A74926A74926C76946C76946C7694' +
       '6C76946C76946C76946C76946C76946C76946C76946C76946C7694' +
       '6C76946C76946C76946C76946C76946D77956D77956D77956D7795' +
       '6D77956D77956D77956D77956D77956D77956D77956D77956D7795' +
       '6D77956D77956D77956D77956E78966E78966E78966E78966E7896' +
       '6E78966E78966E78966E78966E78966E78966E78966E78966E7896' +
       '6E78966E78966E7896');
  B:= GetBitmapCanvas(a);
  x:= 220;
  y:= 140;
  if(FindBitmapSpiral(a,x,y,0,0,520,340))then
    Writeln('found at ' + inttostr(x) + ',' + inttostr(y))
  else
    writeln('nope');
  Canvas:= GetClientCanvas;
  Writeln(IntToStr(Canvas.Pixels[x,y]));
  //Display where it is found
  Form:= TForm.Create(nil);
  Form.Width:= 540;
  Form.Height:= 380;
  Form.Top:= Self.Top + 100;
  Form.Left:= Self.Left + 100;
  Image:= TImage.Create(Form);
  Image.Width:= 520;
  Image.Height:= 340;
  Image.Visible:= True;
  Image.Parent:= Form;

  CopyCanvas(Canvas, Image.Canvas, 0, 0, 520, 340, 0, 0, 520, 340);
  CopyCanvas(B, Image.Canvas, 0, 0, 17, 15, 10, 10, 27, 25);
  Image.Canvas.Pen.Color:= clRed;
  Image.Canvas.Brush.Style:= bsClear;
  Image.Canvas.Rectangle(x, y, x+20, y+20);
  Image.Repaint;
  Form.ShowModal;
  Canvas.Free;
  Form.Free;
end.
